[ACM] AWS Certificate Manager 無料のサーバ証明書でCloudFrontをHTTPS化してみた
はじめに
AWSチームの鈴木です。
本日、AWSより新機能「AWS Certificate Manager」(ACM) が発表され、無料でサーバ証明書を発行し、CloudFront、ELBで利用する事が可能になりました。
今回、ACMでサーバ証明書を発行し、CloudFrontの独自ドメイン設定でHTTPS通信を試す機会がありましたので、その一連の手順を紹介させて頂きます。
New – AWS Certificate Manager – Deploy SSL/TLS-Based Apps on AWS
手順
ACM の利用開始
- AWSコンソール、セキュリティ&アイデンティティに増えた「Certificate Manager」を開きます。
- ACMは、2016年1月現在、米国東部(us-east-1)リージョンでの提供となります。
- 「Get Stard」のリンクより利用を開始します。
証明書の申請
- 発行するサーバ証明書のドメイン名を入力します。
- 「*.」で始まるワイルドカード証明書、複数FQDNに対応したマルチドメイン証明書も作成可能です。
- 今回はワイルドカード証明書を作成します。
- 申請内容確認後、「Confirm and Request」画面に進みます。
- ドメイン所有者である事の認証に進みます。
- 「Continue」に進むと、ドメイン管理者宛にメール通知が行われます。
- ACMの管理画面、認証待ち(Pending validation)となります。
- ドメイン認証はメール、Whoisでドメイン管理者情報が公開されている連絡先メールアドレスと、admin@(申請ドメイン)のメールアドレス宛に通知が行われます。
- Route53のドメインレジストラを利用している場合、ドメイン管理者はRoute53の「Registed Domains」にて確認可能です。
- AWSから届くドメイン認証メールです。
- 承認画面です。
- 意図した記載内容である事を確認し、「I Approve」で承認します。
- 承認完了画面です。
CloudFront設定
- AWSコンソール、CloudFrontの画面を開きます。
- 今回、新規配信設定を作成します。
- 検証用に「dev.classmethod.jp」当ブログサイトをオリジンとするDistributionを作成します。
- CNAMEs欄に公開名、ACMで手配したサーバ証明書に一致するFQDNを記載します。
- 「Custom SSL Certificate」を選択し、先に作成したサーバ証明書を指定します。
- 追加費用なく独自ドメインを利用できる「SNI」とします。
- 作成直後のDistributionは「In Progress」、完了まで数十分を要します。
Route53設定
- 独自ドメインで公開するため、DNS設定を行います。
- 作成したCloudFrontのDistributionの公開名(DomainName)を確認します。
- AWSコンソール、ネットワーキングのRoute53を開きます。
- 対象ドメインのHosted Zonesを指定します。
- 独自ドメインで公開するホスト名を「Create Record Set」で登録します。
- ホスト名を「Name」欄に反映します。
- CloudFrontを名前解決先とするため、Aliasesを「Yes」と指定し、先に設定したCloudFront Distributionを選択します。
ブラウザでの表示確認
- ACMで発行し、CloudFrontに設定したサーバ証明書を確認します。
まとめ
独自ドメインでSSL/TLSで暗号化通信を実現するために必要なサーバ証明書、無料で簡単に手配する事が可能になりました。
iOS9で導入されたATS(App Transport Security)など、セキュアななサーバ証明書でHTTPS通信が求められる事が多くなっている昨今、 無料で手軽に利用できるACM(AWS Certificate Manager)を是非お試しください。